home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / dev / misc / WatchMem.lha / WatchMem.doc < prev    next >
Encoding:
Text File  |  1980-01-22  |  15.6 KB  |  314 lines

  1.  
  2.  
  3.     SORRY GUYS, ONLY GERMAN... BUT THE PROG SHOULD BE SELF-EXPLAINIG
  4.  
  5.     -----------------------------------------------------------------------
  6.     WatchMem V1.5                            Usage: Watchmem SIZE/N,DELAY/N
  7.     -----------------------------------------------------------------------
  8.  
  9.     (c) 1995/6/7/8 Daniel `ThunderPig` Rädel/NEUDELSoft
  10.  
  11.  
  12.  
  13.     -----------------------------------------------------------------------
  14.     USING WATCHMEM - die Bedienungsanleitung
  15.     -----------------------------------------------------------------------
  16.  
  17.     Eines gleich vorweg: Wer jetzt noch unter OS 1.x läuft, hat leider
  18.     verloren... WatchMem braucht die erste non-obsolete 2.x Version (V37 =
  19.     Kick 2.04).
  20.     Das Prog öffnet in der rechten oberen Ecke des Screens ein kleines
  21.     Fenster mit fünf Gadgets, zwei Speicheranzeigen und einem Integer-
  22.     Eingabefeld:
  23.  
  24.             _______ __________
  25.             |Reset| |0       |
  26.             ------- ----------
  27.                     __________
  28.             Free:   |5478532 |
  29.                     ----------
  30.                     __________
  31.             Size:   |25000   |
  32.                     ----------
  33.             _______ __________
  34.             |Steal| |Release |
  35.             ------- ----------
  36.             __________
  37.             | More...|
  38.             ----------
  39.  
  40.     Das Feld neben dem `Reset`-Gadget zeigt den Speicherverbrauch seit dem
  41.     letzten Druck auf `Reset` an (positive Zahl: dem System steht mehr
  42.     Speicher zur Verfügung; negativ: es wurde Speicher verbraucht).
  43.     Ein Klick auf `Reset` setzt diesen Zähler auf Null.
  44.     Dadurch kann man z.B. testen, ob Programme nach dem Beenden auch
  45.     wirklich allen reservierten Speicher wieder zurückgeben (`Reset` ->
  46.     Prog laden -> ggfls. etwas rumspielen -> Prog beenden -> Zähler sollte
  47.     Null sein). Hierbei ist allerdings anzumerken, daß das Verschieben
  48.     anderer Windows, Screens, Icons, ... meistens auch eine Änderung des
  49.     Speicherverbrauchs nach sich zieht!
  50.  
  51.     Mit den Gadgets `Steal` und `Release` kann man dem System zusätzlich
  52.     Speicher wegnehmen; `Steal` versucht pro Klick, eine vom User
  53.     definierbare Menge Speicher zu reservieren (siehe Options) und läßt bei
  54.     Nichtgelingen den Screen kurz aufblitzen, `Release` gibt den gesamten
  55.     so gestohlenen Speicher auf einen Schlag wieder frei. Diese Funktion
  56.     kann recht hilfreich sein, wenn man ein Programm unter `erschwerten
  57.     Bedingungen` testen will (Note to WurzelSepp: *DU* wirst damit nicht
  58.     viel anfangen können - was man nicht hat, kann man nicht wegnehmen...
  59.     :^)))) (New Note: okay, okay - aber ich habe immer noch (endlich
  60.     wieder?) 4 Mb mehr als Du (18 :-))
  61.  
  62.     Options:
  63.  
  64.         WatchMem SIZE/N,DELAY/N
  65.  
  66.     SIZE bezieht sich auf die Stealmem-Größe, DELAY auf die Anzahl
  67.     der 1/50 Sekunden, die das Programm warten soll, bis es das
  68.     Display erneuert und nach Messages sucht.
  69.  
  70.     WatchMem kann ohne Argumente gestartet werden, in diesem Fall beträgt
  71.     die Default-Stealmem-Größe 25000 Bytes und das Default-Delay 5.
  72.  
  73.     SIZE muß mindestens 25 Bytes betragen und DELAY darf sich nur
  74.     zwischen 1 und 5000 bewegen (wird beides von WatchMem nachjustiert).
  75.  
  76.     *ODER*:
  77.  
  78.     Ab V1.1 kann man auch die ToolTypes der Icons mißbrauchen:
  79.     Einfach SIZE=<Wert>, DELAY=<Wert>, LEFT=<Wert>, TOP=<Wert>
  80.     (LEFT und TOP beziehen sich auf die Koordinaten, an denen das Fenster
  81.     geöffnet werden soll) angeben und los geht's...
  82.     Dank an Denis Unger, der sich dieses Feature gewünscht hat.
  83.  
  84.     Das in V1.4 neu hinzugekommene Gadget (`More`) öffnet ein
  85.     Auswahlfenster, in dem die Art des Speichers, der gestohlen werden
  86.     soll (Chip, Fast, Any), ausgesucht und eine grafische
  87.     Speicherdarstellung (`gfx win`) selektiert werden kann. Weiterhin
  88.     kann man hier die Anzeige in ebendiesem Grafikfenster
  89.     (selbsterklärend, denke ich: Pendant einer Fieberkurve) wählen; es
  90.     stehen eine relative (Default) und eine absolute Darstellung zur
  91.     Wahl (`rel gfx`).
  92.     Der kleine Unterschied: Während im absoluten Modus der momentan
  93.     freie Speicher im Verhältnis zum gesamten angezeigt wird (Kurve ganz
  94.     oben = null Mem-Verbrauch; ganz unten = kein freier Speicher mehr
  95.     da), orientiert sich die relative Weise am Textfeld neben dem
  96.     `Reset`-Gadget: Positive Werte werden in schwarz nach oben
  97.     gezeichnet, negative dagegen in rot nach unten.
  98.     Hm, bevor ich noch mehr Anstrengungen unternehme, etwas zu erklären,
  99.     was eigentlich jedem klar sein sollte, bitte ich ganz einfach, die
  100.     Funktionen doch einmal auszuprobieren :)
  101.     Ab Version 1.4c (die Ihr hiermit mindestens in den Händen bzw. im Speicher
  102.     haltet) kann noch die Scrollbedingung für dieses Fenster eingestellt werden:
  103.     Default ist das altbekannte Scrollen nach `DELAY` ticks; neu hinzu-
  104.     gekommen ist die Möglichkeit, nur nach Speicheränderungen (> 10 K bzw.
  105.     > 100 K) zu scrollen.
  106.     Zum guten Schluß gibt es hier jetzt (V1.5) noch eine 'Sleep'-CheckBox. Wird
  107.     diese selektiert, zeigt WatchMem nur noch den aktuellen Speicher an; Das
  108.     GfxWin sowie die relative Nullposition des Speichers werden nicht mehr
  109.     verändert ('Steal' und 'Release' gehen auch nicht mehr). Wird 'Sleep' wieder
  110.     ausgeschaltet, ist alles wie zuvor. [Option gewünscht von Jens G.]
  111.  
  112.     -----------------------------------------------------------------------
  113.     NOTES - some notes on the prog
  114.     -----------------------------------------------------------------------
  115.  
  116.     Mit einer Größe von  14588 Bytes (Turboimploded: 5888 Bytes) ist
  117.     WatchMem eindeutig den klein-aber-oho-Tools zuzuordnen; eigentlich
  118.     sollte niemand auf dieses extrem nützliche Programm verzichten (so
  119.     viel Platz muß sein!). Ich kenne jedenfalls kein kleineres,
  120.     fontsensitiveres, bedienerfreundlicheres, besseres (?),... Prog mit
  121.     diesen Funktionen :-)
  122.  
  123.     WatchMem ist komplett in E geschrieben, den Sourcecode kann ich leider
  124.     nicht mitliefern, da ich vor kurzem unter einem fatalen System-
  125.     zusammenbruch zu leiden hatte, dem auch meine HardDisk zum Opfer
  126.     fiel (Verlust fast aller Daten :-((((
  127.     Aber weil Denis Unger sich eine verbesserte Version gewünscht hat,
  128.     habe ich einfach nochmal angefangen. Herausgekommen ist ein Programm,
  129.     das nur geringfügig länger ist als das 'Original' und dafür doch um
  130.     einiges mehr kann :)
  131.  
  132.     Zur Speicherreservierung und -freigabe benutzt WatchMem die Funktionen
  133.     AllocRemember() und FreeRemember()
  134.     Wenn AllocRemember() nicht funktioniert hat (z.B. weil kein Speicher
  135.     mehr da ist), wird ein DisplayBeep() ausgegeben.
  136.  
  137.     Es sollte vielleicht noch beachtet werden, daß auch WatchMem ein wenig
  138.     Speicher braucht, wenn die Gadgets betätigt werden - frag' nicht
  139.     mich, frag' die Pfannkuchen! (Dann iß' doch Müller Milchreis...)
  140.     -> Ist so `ne Intuition-Angelegenheit. Jedenfalls sollten diese
  141.     Bytes beim Prüfen von Programmen in Betracht gezogen werden (am
  142.     besten nach Aufruf von WatchMem als erstes den Reset-Button drücken)
  143.  
  144.     Für die Gadgetverwaltung wird die gadtools.library herangezogen
  145.  
  146.     Daß WatchMem nicht unbedingt auf den WBenchScreen angewiesen ist,
  147.     sollte sich von selbst verstehen, oder?
  148.  
  149.     Anregungen, Bugreports, Kritik,... sind/ist sehr gern gesehen - Ad
  150.     siehe unten
  151.  
  152.     Das gute Wort zum Schluß: Dies ist mein erstes Programm in E - laßt
  153.     Nachsicht walten!
  154.  
  155.     -----------------------------------------------------------------------
  156.     DISCLAIMER - wie immer...
  157.     -----------------------------------------------------------------------
  158.  
  159.     Ich übernehme keinerlei Verantwortung für irgendwelche negativen Dinge,
  160.     die direkt oder indirekt auf die Benutzung von WatchMem zurückzuführen
  161.     sind (sollte jemand aus Wut, daß wegen Watchmen der Comp abgestürzt
  162.     ist, seine Schwester erstechen, daraufhin verhaftet und in eine
  163.     geschlossene Anstalt eingeliefert werden, so ist das ein PAL (=Problem
  164.     anderer Leute) und geht mich demzufolge auch nichts an).
  165.  
  166.     WatchMem ist freely distributable, also frei kopier- und benutzbar;
  167.     Bedingung ist allerdings, daß mit WatchMem kein Geld verdient wird (->
  168.     Preis pro Disk <=DM 5.-), daß WatchMem nur zusammen mit dieser
  169.     Anleitung weitergegeben wird und daß WatchMem und die Anleitung *nur
  170.     unmodifiziert* weiterverbreitet wird (!).
  171.     Auf CD-ROMs darf WatchMem selbstverständlich auch erscheinen, solange
  172.     es sich dabei um Sammlungen nichtkommerzieller Software handelt.
  173.  
  174.     Bei Aufnahme in eine eigene Serie gelten oben genannte Bedingungen;
  175.     ein Belegexemplar an den Autor (Anschrift s.u.) ist Pflicht (CD-ROMs:
  176.     hier tut es auch eine Nachricht; wer zuviel Geld hat, kann mir
  177.     natürlich auch die CD schicken =:-).
  178.  
  179.     ...natürlich darf WatchMem auch in nichtkommerzielle Datennetze geladen
  180.     werden (Z.B. Aminet)...
  181.  
  182.  
  183.     -----------------------------------------------------------------------
  184.     AUTHOR - Ad des Autors
  185.     -----------------------------------------------------------------------
  186.  
  187.     Daniel Rädel                                Daniel Rädel
  188.     Margaretenstraße 52/2                       Fuchslöcherstraße 28
  189.     88045 Friedrichshafen                       07749 Jena
  190.     07541/21477             mobile phone        03641/445856
  191.                             0172/9986254
  192.     (-> Mom's ad ;-)                            (-> Term ad)
  193.  
  194.     email: p5dara@rz.uni-jena.de (nicht während Semesterferien)
  195.            thunder@mipool.uni-jena.de  [alive agin!]
  196.            draedel@intershop.de [preferred - da bin ich fast täglich...]
  197.  
  198.     -----------------------------------------------------------------------
  199.     GREETINX - hm, was das wohl sein mag...
  200.     -----------------------------------------------------------------------
  201.  
  202.     WurzelSepp (YES, it IS font sensitive - the next step is NEUDELHTML :),
  203.     Simon(e), PopelPaul, Shocker, Jutta F. Sonne, Chris Hodges, Wouter van
  204.     Oortmerssen (`E' is *great*!), A.Göpel (auch wenn Du `ne DOSe hast :(,
  205.     Katja, Waterfles (`Nanne` Juliane), Sepp (wie geht's dem Golf?),
  206.     (EX-)Infox-Crew, Denis Unger (endlich `mal einer, der Resonanz zeigt!),
  207.     Rainer Müller (dito), Jens Granseuer (dito :) ... and everyone I forgot
  208.  
  209.     -----------------------------------------------------------------------
  210.     HISTORY - äußerst wichtige Fakten rund um WatchMem ;)
  211.     -----------------------------------------------------------------------
  212.  
  213.     120995  -   Während der Spätschicht meines Semesterferienjobs kommt
  214.                 mir der Gedanke, daß ich endlich ausprobieren sollte, ob
  215.                 ich in der Lage bin, korrekt fontsensitiv zu programmieren;
  216.                 außerdem habe ich Wouter van Oortmerssens's `E' noch nicht
  217.                 so richtig ausgetestet. Da ich die Vollversion noch nicht
  218.                 bestellt habe (Anm.: *jetzt* schon :), muß das Programm
  219.                 also unter der 8K-Grenze liegen...
  220.  
  221.     130995  -   Wieder Spätschicht; erste Gedanken an WatchMem dringen an
  222.                 die Oberfläche meines Bewußtseins.
  223.  
  224.     140995  -   Nach der Arbeit begebe ich mich an den Amiga und führe
  225.                 einige Experimente mit textfont- und textattr.-Strukturen
  226.                 durch.
  227.     V0.1    -   WatchMem benutzt die Maße des Default-Textfonts für die
  228.                 Gadgets, schreibt dann aber mit dem Screenfont hinein :(
  229.  
  230.     150995  -   Ich sitze noch immer am Computer und wundere mich...
  231.  
  232.     150995  -   Wochenende! Das muß gefeiert werden - natürlich mit einer
  233.                 großen Portion Rom Kernel Manual :-)
  234.                 Aha, falsche Font-Übergabe...so, jetzt sollte alles laufen.
  235.                 Zeit für...
  236.     V1.0    -   ...die erste veröffentlichte Version!
  237.  
  238.     160995  -   Was soll ich bloß in die Anleitung schreiben???
  239.  
  240.     250796  -   Ich erinnere mich wieder dunkel an Denis und beginne
  241.                 mit der Arbeit an Version 1.1
  242.  
  243.     260796  -   So, fertig. Nur 404 Bytes mehr =:-))))
  244.                 Dafür versteht WatchMem jetzt ein bißchen `was von
  245.                 tooltypes; außerdem kann der geneigte User auch das
  246.                 niegelnagelneue Integer-Eingabefeld im Window benutzen...
  247.     V1.1    -   all new source code!
  248.  
  249.     210996  -   Durch einen Bug in der GadToolsBox wurden zuviele IDCMP-
  250.                 Flags gesetzt; diese verlangsamten WatchMem zum einen
  251.                 und fraßen zum anderen auch noch Speicher (fixed!). Außer-
  252.                 dem benutze ich jetzt auch die IntuiTicks zum Erneuern
  253.                 des Fensterinhaltes (auch wenn es lächerlich ist, alle
  254.                 1/10 Sekunde nach dem Speicher zu fragen...); dadurch
  255.                 verkürzte sich der Code um sagenhafte 8 Bytes auf 5172.
  256.     V1.2    -   BugFix
  257.  
  258.     161096  -   F#*k! Die GadtoolsBox hat doch tatsächlich immer nach dem
  259.                 `Workbench`-PubScreen gesucht und nicht nach dem Default-
  260.                 PubScreen! Das hat man davon, wenn man den Code nicht
  261.                 Stück für Stück von Hand schreibt... >:-(
  262.                 Neue Option eingebaut: Da mir die IntuiTicks entschieden
  263.                 zu viel Performance gekostet haben, habe ich die Delay-
  264.                 Option ins Leben gerufen. Jetzt kann sich jeder selbst
  265.                 aussuchen, wie sehr er sein System bremsen möchte...
  266.                 Das Message-Handling habe ich auch noch etwas optimiert.
  267.                 Leider wurde WatchMem jetzt wieder etwas länger: 5304 Bytes
  268.                 (bzw. 3024 turbo-imploded).
  269.     V1.3    -   BugFix (no more bugs now...:)
  270.  
  271.     210197  -   Beschwingt durch das Lob von Rainer Müller bekomme ich
  272.     und         Lust, noch ein paar Funktionen einzubauen; dabei fällt
  273.     040297      mir ein weiterer (dummer) Fehler auf, der natürlich sofort
  274.                 korrigiert wurde: Wenn in den ToolTypes für die Koordinaten
  275.                 jeweils Null eingegeben wurde, so öffnete sich das Fenster
  276.                 wie gewohnt rechts oben auf dem Monitor :(
  277.                 Die neuen Funktionen umfassen die Wahl der Speicherart, die
  278.                 gestohlen werden soll, sowie ein neckisches Fenster, das
  279.                 den Speicherverbrauch in Form einer Fieberkurve darstellt.
  280.                 Rainer hat mich außerdem darauf aufmerksam gemacht, daß
  281.                 da etwas mit Proportionalfonts nicht so ganz richtig
  282.                 läuft (Thanx!)
  283.     V1.4    -   BugFix & new features ( 12704/5212 Bytes)
  284.  
  285.     130997      Über ein halbes Jahr ist es her, daß ich den Comp das
  286.                 letzte Mal eingeschaltet habe :-(
  287.                 Zeit für ein paar kleine Änderungen an WatchMem!
  288.     V1.4c   -   BugFix & new feature (13252/5328 Bytes)
  289.  
  290.     07.11.97    Dank Jens Granseuer konnte ein weiterer kleiner Fehler
  291.                 eliminiert werden (nur für User interessant, die nicht
  292.                 über V39+ verfügten): Das Gfx-Win benutzte ObtainBestPenA(),
  293.                 um zwei schöne Farben für die `Fieberkurve` zu selektieren.
  294.                 Das schicke schwarz-rote Aussehen derselben bleibt jetzt den
  295.                 V39+-Usern vorbehalten, der Rest bekommt gnadenlos die
  296.                 WB-Farben 1 und 2 `reingedrückt... >:-)
  297.     V1.4d   -   BugFix (13800/5512 Bytes)
  298.  
  299.     25.04.98    Oops! Da war doch tatsächlich noch ein Fehler in der V37-
  300.                 Unterstützung...
  301.                 Ansonsten habe ich auch endlich die Enforcer-Hits, die Rainer
  302.                 Müller schon lange beanstandet hat, gefunden [Rainer: Sorry,
  303.                 das es so lange gedauert hat :-(]
  304.                 Jens hat sich auch wieder gemeldet und sich eine Sleep-Option
  305.                 gewünscht (ich hoffe so, wie ich sie implementiert habe)
  306.                 [Jens: Wozu ist das überhaupt nötig? Kann WatchMem nicht einfach
  307.                 so weiterlaufen? Egal, jetzt ist es drin ;-)].
  308.     V1.5    -   BugFix & new features (14588/5888 Bytes)
  309.  
  310.  
  311.     -----------------------------------------------------------------------
  312.  
  313.                                                                        EOF.
  314.